home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / demos / VisualAge for Java 2.0 Entry / setup / data1.cab / ide-e / IDE / cache / GNOH3F (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-16  |  2.0 KB  |  46 lines

  1. package com.sun.java.swing.plaf.metal;
  2.  
  3. import com.sun.java.swing.JComponent;
  4. import com.sun.java.swing.UIManager;
  5. import com.sun.java.swing.plaf.ComponentUI;
  6. import com.sun.java.swing.plaf.UIResource;
  7. import com.sun.java.swing.plaf.basic.BasicTextFieldUI;
  8. import com.sun.java.swing.text.JTextComponent;
  9. import java.awt.Color;
  10. import java.awt.Component;
  11. import java.beans.PropertyChangeEvent;
  12. import java.util.EventObject;
  13.  
  14. public class MetalTextFieldUI extends BasicTextFieldUI {
  15.    public static ComponentUI createUI(JComponent c) {
  16.       return new MetalTextFieldUI();
  17.    }
  18.  
  19.    private void editableChanged(JComponent c, boolean editable) {
  20.       Color background = ((Component)c).getBackground();
  21.       if (!editable) {
  22.          if (background instanceof UIResource) {
  23.             ((Component)c).setBackground(UIManager.getColor("control"));
  24.          }
  25.       } else if (background instanceof UIResource) {
  26.          ((Component)c).setBackground(UIManager.getColor("TextField.background"));
  27.       }
  28.  
  29.    }
  30.  
  31.    public void installUI(JComponent c) {
  32.       super.installUI(c);
  33.       this.editableChanged(c, ((JTextComponent)c).isEditable());
  34.    }
  35.  
  36.    public void propertyChange(PropertyChangeEvent e) {
  37.       if (e.getPropertyName().equals("editable")) {
  38.          JComponent source = (JComponent)((EventObject)e).getSource();
  39.          ((Component)source).getBackground();
  40.          boolean editable = (Boolean)e.getNewValue();
  41.          this.editableChanged(source, editable);
  42.       }
  43.  
  44.    }
  45. }
  46.